What could crash your web app for visitors is caching differences of iPad Safari. iPad Safari insists on a stale js file despite letting your html or php changes thru. This mismatch could cause js errors that you don't get on another device What's irritating is that iPad ignores your cache control header even if it orders the browser to get a new copy of js and css files Doesn’t apply to: Apps controlled with webpack / react builder so that the bundled js filename is hashed or those controlled with service worker which is heavy on caching until you change the version number Applies to: js/jquery files and you can afford to use php files (time to convert your html into php). If you must stick with html files then your solution is to use url query ?v=*** on your script and link assets despite it being problematic with git diff and future maintenance (php resolves that by having $v at each script and css link, and you change that $v value at one file) iPad is very aggressive about caching even if I set the php or server to disable caching. To see why, refer to [[iPad Safari aggressively caches - 1. Why]]. This caching woe is valid so far into 12/24. --- Below are approaches to forcefully bust a cache on iPads. It usually involves changing the filename or the url to the file assets, and there is a seamless way to do so if you're using PHP that does not force you to make another commit, crowding the git diffs. Even if you are not on PHP, then you're gonna have to change the script and link url's and will have to crowd the git diffs. A quick and dirty way is to use style and script blocks... Or PHP-include the js and css files inside style and script blocks like so: ``` ``` ^ Neither approach is reasonable if you have a huge code base that you need to maintain in the future (too long of a HTML file, or quickly looking at asset files at the markup) A quick and dirty way is to change the script[src] and link[href] by adding a version url query. ```